<?php
/**
 * 框架接口文件
 * @copyright Copyright&copy; 2015, 广州六象元一网络科技有限公司
 * @author 王海龙 $
 * @version  $Id: init.php, v 1.0, 2015-01-01 王海龙 $
 */
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache");
/* 如果非鸡蛋美术标识，则报错 */
if (!defined('EGGMS'))
{
    die('非法进入');
}

if ($_SERVER['REMOTE_ADDR'] != '115.204.149.132' && $_SERVER['REMOTE_ADDR'] != '125.118.119.46') {
    die('404');
}

// /*是否为手机端*/
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile)/i";
if ((preg_match($uachar, $ua)) && !strpos(strtolower($_SERVER['REQUEST_URI']),'wap'))
{
    $isMobile = true;
}

// 销毁变量
unset($ua,$uachar);

if (__FILE__ == '')
{
    die('Fatal error code: 0');
}

/* 定义常量 */
// 根目录
define('ROOT', '/lanmp/www/eggmstest/');
// 框架目录
define('FW', '/lanmp/www/eggmstest/framework/');
// public地址
define('PUC', 'http://puc.test.eggms.com/');
// 显示所有错误
error_reporting(E_ALL);
/* 初始化设置 */
@ini_set('memory_limit',          '128M'); // 设定脚本所能占用最大的内存
@ini_set('session.cache_expire',  1440); // 设置
@ini_set('session.use_trans_sid', 0); // 是否使用明码在URL中显示SID(会话ID)
@ini_set('session.use_cookies',   1); // 是否使用cookie在客户端保存会话ID
@ini_set('session.auto_start',    0); // 在客户访问任何页面时都自动初始化会话，默认禁止。
@ini_set('display_errors',        true); // 是否将错误信息作为输出的一部分显示
@date_default_timezone_set('PRC'); // 设置默认时区

/* 设置包含目录路径 */
if (DIRECTORY_SEPARATOR == '\\')
{
    @ini_set('include_path', '.;' . APP_PATH);
}
else
{
    @ini_set('include_path', '.:' . APP_PATH);
}

/* 加载配置文件 */
// 加载默认配置文件
require(ROOT . 'conf/config.php');
// 加载商店文件
require(ROOT . 'conf/shop.php');
// 加载用户指定配置文件
if (defined('CONF')) {
    @require(ROOT . 'conf/' . CONF . '.php');
}
/* 加载基础函数库 */
require(FW . 'flib/funBase.php'); // 基础函数
require(FW . 'flib/funCommon.php'); // 基础函数
require(FW . 'flib/funInsert.php'); // 基础函数

/* 调试运行时间记录开始 */
if ($_CFG['debug'] >= 2) {
    /* 当程序执行完成后执行shutdownFun函数 */
    register_shutdown_function('shutdownFun');
    // 设置运行开始时间
    define('TIMESTART', microsecond());
}


/* 加载session类操作 */
/* 设置SESSION保存站点 */
ini_set("session.cookie_domain", ".eggms.com");
/* 设置过期时间 */
ini_set("session.gc_maxlifetime", $_CFG['sessionCacheTime']);
/* 开启SESSION */
session_start();
/* 设置SESS_ID */
define('SESS_ID', session_id());

// 验证session是否正确开启
if (!defined('SESS_ID')) {
    die("Can't Start Session");
} else {
    /* 设置sess初始变量 */
    $_SESSION['time'] = time();
    $_SESSION['ip'] = realIp();
    $_SESSION['addr'] = I2A($_SESSION['ip']);
}

/* 对用户传入的变量进行转义操作。*/
if (!get_magic_quotes_gpc())
{
    if (!empty($_GET))
    {
        $_GET  = addslashesDeep($_GET); // 转义GET数组
    }
    if (!empty($_POST))
    {
        $_POST = addslashesDeep($_POST); // 转义POST数组
    }

    $_COOKIE   = addslashesDeep($_COOKIE); // 转义COOKIE数组
    $_REQUEST  = addslashesDeep($_REQUEST); // 转义REQUEST数组
}

if (!defined('IS_NO_TPL')) {
    /* 加载模板引擎类 */
    require(FW . 'clib/classTpl.php');
    $tpl = new classTpl();
    // 用cacheLifeTime来判断缓存文件是否过期。
    // $tpl->setCaching(Smarty::CACHING_LIFETIME_CURRENT);
    // 禁用模板缓存
    $tpl->setCaching(false);
    // 设置模板目录
    $tpl->setTemplateDir(ROOT . $_CFG['templateDir']);
    // 设置模板缓存编译目录
    $tpl->setCompileDir(ROOT . $_CFG['cacheDir'].$_CFG['templateDir'].'c/');
    // 设置模板缓存目录
    $tpl->setCacheDir(ROOT . $_CFG['cacheDir'] . $_CFG['templateDir']);
    // 设置缓存过期时间
    $tpl->setCacheLifetime(ROOT . $_CFG['cacheLifeTime']);
    // 设置调试模式
    $tpl->debugging = false;
}
